home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga CD-ROM Collection
/
Amiga CD-ROM Collection - Auge 4000 and Cactus and Demo Util.iso
/
cactus
/
12
/
spezialdruck
/
spezialdruck
< prev
next >
Wrap
Text File
|
1994-01-01
|
6KB
|
237 lines
' Programm Spezialdruck
' Version 1.1
' Programmiert 3/1988 von Guido Coenen
' Dies ist Public Domain !
DIM Original%(7),Ersatz%(7)
Esc$=CHR$(27)
ON ERROR GOTO Fehler
SCREEN 2,640,200,1,2
WINDOW 1,"Spezialdruck",(0,10)-(631,186),18,2
MENU 1,0,1,"Optionen"
MENU 1,1,1,"Datei ausdrucken"
MENU 1,2,1,"Inhaltsverzeichnis"
MENU 1,3,1,"Verzeichniswechsel"
MENU 1,4,1,"Druckerreset"
MENU 1,5,1,"Ueber das Programm"
MENU 1,6,1,"Kurzbeschreibung"
MENU 1,7,1,"Programm beenden"
MENU ON
GOSUB Autor
RESTORE Anpassungsdaten
FOR X=0 TO 7
READ Original%(X),Ersatz%(X)
NEXT X
Hauptteil:
ON MENU GOSUB Bearbeitung
GOTO Hauptteil
Bearbeitung:
ON MENU(1) GOTO Drucken,Verzeichnis,Wechsel,Druckerreset,Autor,Anleitung,Beenden
Drucken:
CLS
PRINT SPC(30)"DATEI AUSDRUCKEN"
PRINT SPC(30)"================"
PRINT
PRINT
PRINT SPC(24)"RETURN = Zurueck ins Hauptmenue"
LOCATE 11,10
INPUT "Name der auszudruckenden Datei";Datei$
PRINT
IF Datei$="" THEN
CLS
RETURN
END IF
CLS
LOCATE 14,23
PRINT"RETURN = Weiter, ESC = Abbruch"
JN$=""
WHILE (JN$<>CHR$(13) AND JN$<>Esc$)
JN$=INKEY$
WEND
IF JN$=Esc$ THEN CLS:RETURN
OPEN "PAR:" FOR OUTPUT AS #1
OPEN Datei$ FOR INPUT AS #2
WHILE NOT EOF(2)
Zeichen$=INPUT$(1,2)
IF Zeichen$="&" THEN
GOSUB Interpretieren
ELSE
PRINT Zeichen$;
GOSUB Anpassung
END IF
PRINT#1,Zeichen$;
WEND
PRINT#1,""
BEEP
PRINT
PRINT "Fertig !"
CLOSE 1
CLOSE 2
RETURN
Anpassung:
FOR X=0 TO 7
IF Zeichen$=CHR$(Original%(X)) THEN Zeichen$=CHR$(Ersatz%(X))
NEXT X
RETURN
Interpretieren:
Zeichen$=INPUT$(1,2)
IF Zeichen$="K" THEN Zeichen$=Esc$+"4" : RETURN :' Kursivdruck ein
IF Zeichen$="k" THEN Zeichen$=Esc$+"5" : RETURN :' Kursivdruck aus
IF Zeichen$="N" THEN Zeichen$=Esc$+"x1": RETURN :' NLQ ein
IF Zeichen$="n" THEN Zeichen$=Esc$+"x0": RETURN :' NLQ aus
IF Zeichen$="E" THEN Zeichen$=Esc$+"M" : RETURN :' Elite ein
IF Zeichen$="e" THEN Zeichen$=Esc$+"P" : RETURN :' Elite aus / Pica ein
IF Zeichen$="P" THEN Zeichen$=Esc$+"p1": RETURN :' Proportional ein
IF Zeichen$="p" THEN Zeichen$=Esc$+"p0": RETURN :' Proportional aus
IF Zeichen$="S" THEN Zeichen$=CHR$(15) : RETURN :' Schmalschrift ein
IF Zeichen$="s" THEN Zeichen$=CHR$(18) : RETURN :' Schmalschrift aus
IF Zeichen$="B" THEN Zeichen$=Esc$+"W1": RETURN :' Breitdruck ein
IF Zeichen$="b" THEN Zeichen$=Esc$+"W0": RETURN :' Breitdruck aus
IF Zeichen$="F" THEN Zeichen$=Esc$+"G" : RETURN :' Fettdruck ein
IF Zeichen$="f" THEN Zeichen$=Esc$+"H" : RETURN :' Fettdruck aus
IF Zeichen$="D" THEN Zeichen$=Esc$+"E" : RETURN :' Schatten- (Doppel-) druck
IF Zeichen$="d" THEN Zeichen$=Esc$+"F" : RETURN :' Schattendruck aus
IF Zeichen$="U" THEN Zeichen$=Esc$+"-1": RETURN :' Unterstreichen ein
IF Zeichen$="u" THEN Zeichen$=Esc$+"-0": RETURN :' Unterstreichen aus
IF Zeichen$=">" THEN Zeichen$=Esc$+"S0": RETURN :' Superscript ein
IF Zeichen$="<" THEN Zeichen$=Esc$+"S1": RETURN :' Subscript ein
IF Zeichen$="=" THEN Zeichen$=Esc$+"T" : RETURN :' Super-/Subscript aus
IF Zeichen$="6" THEN Zeichen$=Esc$+"2" : RETURN :' 1/6 Zoll Zeilenabstand
IF Zeichen$="8" THEN Zeichen$=Esc$+"0" : RETURN :' 1/8 Zoll Zeilenabstand
IF Zeichen$="A" THEN Zeichen$=CHR$(12) : RETURN :' Anfang naechstes Blatt
IF Zeichen$="T" THEN Zeichen$=CHR$(10) : RETURN :' Eine Zeile tiefer
IF Zeichen$="H" THEN Zeichen$=Esc$+CHR$(10) : RETURN :' Eine Zeile hoeher
IF Zeichen$="2" THEN Zeichen$=Esc$+"h"+CHR$(1) : RETURN :' Doppelt hoch/breit
IF Zeichen$="4" THEN Zeichen$=Esc$+"h"+CHR$(2) : RETURN :' Vierfach hoch/breit
IF Zeichen$="0" THEN Zeichen$=Esc$+"h"+CHR$(0) : RETURN :' Normale Groesse
IF Zeichen$="L" THEN Zeichen$=Esc$+"a"+CHR$(0) : RETURN :' Linksbuendig
IF Zeichen$="Z" THEN Zeichen$=Esc$+"a"+CHR$(1) : RETURN :' Zentriert
IF Zeichen$="R" THEN Zeichen$=Esc$+"a"+CHR$(2) : RETURN :' Rechtsbuendig
PRINT Zeichen$;
RETURN
Verzeichnis:
CLS
PRINT SPC(28)"VERZEICHNIS ANZEIGEN"
PRINT SPC(28)"===================="
PRINT
FILES
RETURN
Wechsel:
CLS
PRINT SPC(28)"VERZEICHNIS WECHSELN"
PRINT SPC(28)"===================="
LOCATE 11,10
INPUT"Name des neuen Verzeichnisses ";Verzeichnis$
IF Verzeichnis$="" THEN CLS : RETURN
CHDIR Verzeichnis$
CLS
RETURN
Druckerreset:
OPEN "PAR:" FOR OUTPUT AS #1
PRINT#1,Esc$+CHR$(64)
CLOSE 1
Autor:
CLS
LOCATE 5,28
PRINT "S P E Z I A L D R U C K"
LOCATE 6,28
PRINT "======================="
LOCATE 8,24
PRINT"Programmiert 3/1988 von Guido Coenen"
LOCATE 9,26
PRINT"Version fuer STAR NL 10 Drucker"
RETURN
Anleitung:
CLS
PRINT SPC(25)"K U R Z A N L E I T U N G"
PRINT SPC(25)"========================="
PRINT
PRINT
RESTORE
FOR X=1 TO 16
READ Text$
PRINT SPC(8)Text$
NEXT
RETURN
Beenden:
CLS
PRINT SPC(30)"PROGRAMM VERLASSEN"
PRINT SPC(30)"=================="
LOCATE 10,15
PRINT "Moechten Sie wirklich das Programm beenden (J/N) ?";
GOSUB JN
IF NOT JN% THEN
CLS
RETURN
END IF
MENU RESET
WINDOW CLOSE 1
SCREEN CLOSE 2
END
JN:
JN$=INKEY$
JN$=UCASE$(JN$)
IF JN$<>"J" THEN IF JN$<>"N" GOTO JN
JN%=JN$="J"
RETURN
Fehler:
IF ERR=53 THEN PRINT "Die gewuenschte Datei existiert nicht !"
IF ERR=57 THEN PRINT "Ein-/Ausgabefehler aufgetreten !!!"
IF ERR=64 THEN PRINT "Ungueltiger Dateiname !"
IF ERR=68 THEN PRINT "Geraet (Drucker oder Disk) ist nicht angeschlossen !"
IF ERR=74 THEN PRINT "Angegebenes Geraet ist dem BASIC unbekannt !"
PRINT "Fehlernummer = "ERR
RESUME Zurueck
Zurueck:
RETURN
DATA "Das Programm 'Spezialdruck' druckt Texte, die im ASCII-Format"
DATA "gespeichert wurden, mit druckerspezifischen Steuerzeichen aus."
DATA "Dazu muss in den ASCII-Text ein sog 'Kaufmanns-und' (&) einge-"
DATA "fuegt werden und dahinter ein bestimmter Kennbuchstabe."
DATA "Das Programm kann an jeden beliebigen Drucker angepasst werden,"
DATA "indem die Steuercodes im Unterprogramm 'Interpretieren' ergaenzt"
DATA "bzw. geaendert werden."
DATA "Die Kennbuchstaben sind so gewaehlt, dass sie leicht zu behalten"
DATA "sind. Dabei bedeutet ein Grossbuchstabe immer das Einschalten"
DATA "der jeweiligen Sonderdruckfunktion und derselbe Buchstabe in"
DATA "klein das Ausschalten der Sonderdruckfunktion."
DATA "Auch die Umlauttabelle im Unterprogramm 'Anpassungsdaten' ist"
DATA "je nach Druckertyp zu aendern. Format: Erste DATA-Zahl = Original-"
DATA "AMIGA-Zeichencode. Zweite DATA-Zahl = Drucker-Zeichencode."
DATA "Beispiel: D = AMIGA-Code 196"
DATA "========= D = STAR-CODE 91"
Anpassungsdaten:
DATA 196,91,214,92,220,93,228,123,246,124,252,125,223,126,167,64
' D , V , \ , d , v , \ , _ , '